<?php

namespace Api\Event;
use Think\Controller;


/** 
 * 基础Api类    controller里面调用使用  A('Api/User', 'Event')的方式
 *子类返回的错误全部是 整型数字  用const ERROR_USER_XXX  声明 
 *ERROR_模型名称_具体错误  
 * @author Legend. <xcx_legender@qq.com>
 * @param 
 * @return 
 */

class BaseEvent{

	public $error;

	static $STATIC;

	static $API_ERROR = array(
		'SERVER'=>500,
		'UNLOGIN'=>501, //用户未登录
		'SUCCESS'  => 200,
		'META'     => 201,
		'PARAM'    => 101,
		'SIGN'     => 102, // sign error
		'DENY'	   => 103, // access deny 无权限
		'USER'     => 502,

		// game: 300 - 349
		'GAME'     => 300,  // 游戏信息错误
		// video : 350 - 399
		'VIDEO'    => 350,  // 视频信息错误
		'VIDEO_DUPLICATE'    => 351,  // 视频信息错误
		// matches: 400-449
		'MATCH'    => 400,  // 比赛信息错误
		'NO_RACES' => 401, //暂无比赛

		// Topic: 450 - 499
		'TOPIC'    => '450', // 栏目信息错误

		//用户500-518
		'VERIFY'=>503,
		'NO_USER'=>504,
		'PASSWORD'=>505,
		'TOO_TIMES'=>506,
		'MOBILE'=>507,
		'MOBILE_EXIST'=>508,
		'NICKNAME'=>509,
		'NICKNAME__ILLEGAL'=>510,
		'NO_NICKNAME'=>511,
		'TOKEN_FAILED'=>512,
		'SIGN'        => 513,
		'SSO_LOGIN'   => 514, // SSO授权失败


		//Comment: 519-521
		'COMMENT' => 519, //评论信息有误
		'ILLEGAL_VIDEO'=>520,//评论的视频不合法
		'NULL_COMMENT'=>521,//评论内容为空

		// 弹幕操作
		'ERROR_BARRAGE' => 522, //弹幕发布失败
		'BARRAGE_TEXT'  => 523, // 弹幕发送内容为空

		'ERROR_ACCUSE'  => 524, // 举报错误


		// 用户点赞 评论 关注 的错误 530-540
		'HAS_LIKE' => 530, // 已经点赞
		'HAS_NO_LIKE'  => 531, // 未点赞不能取消
		'HAS_FOLLOW' => 532, // 已经关注
		'HAS_NO_FOLLOW' => 533, // 未关注不能取消
		'HAS_SCRIBE'  => 534,// 已经订阅
		'HAS_NO_SCRIBE' => 535, // 未订阅不能取消
		'FOLLOW_SELF'=>536,//不能关注本人
		'FAVOUR' => 537,//已收藏
		'NO_FAVOUR'=>538,//未收藏
		'FAVOUR_ILLEGAL'=> 539,//创建收藏失败

		//  600 - 650  积分 商品相关
		'GIFT_STOCK' 		=> 600, // 库存不足
		'GIFT_USER_SCORE' 	=> 601, //用户积分不足
		'GIFT_EXCHANGE_ERR' => 602, // 领取失败
		'GIFT_UNLUCKY'      => 603, // 未中奖

		// 650 - 700 站内信
		
		'ERROR_MAIL'     => '650', // 发送站内信失败
		'MAIL_TO_SELF'   => '651', // 不能给自己发

		'VISIT_OFTEN' => 999, // 访问频繁
		
	);

	public function __construct() {
        //控制器初始化
        if(method_exists($this,'_initialize'))
            $this->_initialize();
    }

	protected function _initialize(){
		
	}

	function getError()
	{
		return $this->error;
	}

	protected function returnParamError($msg)
	{
		$result['code'] = self::$API_ERROR['PARAM'];
		$result['info'] = $msg;
		return $result;
	}


}